This invention relates to open systems printing.
Printing is often a proprietary sub-system of computer operating systems. This is especially true for production or high-speed printing (i.e., greater than 100 pages per minute). For example, IBM(trademark) MVS(trademark) mainframes 10, 12 (FIG. 1) are connected to IBM(trademark) printers 14, 16 over IBM(trademark) bus-and-tag channels 18, 20, Microsoft(trademark) NT(trademark) server 22 is connected to NT(trademark) printer 24 over proprietary bus 26, and image server 28 is connected to image printers 30 over proprietary busses 32. In a typical MVS(trademark) environment, print files are generated from a mainframe MVS(trademark) application and sent to a Job Entry Sub-System (JES). The print job is routed over the proprietary bus to a printer directly connected to the proprietary bus. The job is then printed using JES commands.
When new processors are developed and installed, new printers corresponding to the new technology are also installed. Dedicated, high-bandwidth channel bus extenders are used to connect remote high-speed printers to a central mainframe location.
Client/server systems typically include smaller desktop computers (clients) connected to larger more powerful computers (servers). To print a client/server print stream on a high-speed printer, the print stream is typically routed (arrow 34) to a mainframe, e.g., MVS(trademark) 10, and then routed to a high-speed printer, e.g., printers 14. The mainframe is effectively made a high-cost print server for the distributed client/server system.
Switch 36 enables either MVS(trademark) 12 or a VAX(trademark) mainframe 38 to send print streams to printer 40. If MVS(trademark) 12 is configured to send print streams through switch 36 and a user instead wants to send print streams from VAX(trademark) 38 to the printer, the user enables the VAX(trademark) and disables the MVS(trademark) and configures the switch accordingly. Approximately 20 minutes to an hour is required to re-configure the mainframes and switch. A new switch is needed to allow a different hardware platform, e.g., NT(trademark) server 22, to share a printer with MVS(trademark) 12 and/or VAX(trademark) 38.
In general, in one aspect, the invention features a method for open systems printing including routing print jobs automatically from different types of source computers to different types of printers without the source computers selecting printers for each print job. In general, in another aspect, the invention features a method for open systems printing including routing print jobs automatically from an arbitrary number of source computers to an arbitrary number of printers without the source computers selecting printers for each print job.
Implementations of the invention may include one or more of the following. Routing may include sending the print jobs from the source computers to a print server and sending the print jobs from the print server to output managers connected to the printers. The print jobs may be sent from the source computers to the print server over a first network, e.g., a TCP/IP network, and the print jobs may be sent from the print server to the output managers over a second network, e.g., a local area network. The method may include transforming data in the print jobs into a format compatible with the printers, and the transformation may be carried out by the print server or an output manager. After sending the print jobs from the source computers to the print server, the method may include storing the print jobs in a server spool coupled to the print server. Before sending the print jobs from the print server to the output managers, the data in the print jobs may be manipulated, for example, two print jobs may be merged into one print job. The method may also include printing the print jobs on paper, sending the print jobs to an electronic mail system, recording the print jobs on microfiche, and recording the print jobs on laser disk. Each of the print jobs may include at least two reports and routing may include sending the print jobs from the source computers to a print server and sending individual reports from the print server to output managers connected to the printers. After sending the print jobs from the source computers to the print server, the method may include bringing the source computers down for maintenance while printing the print jobs.
In general, in another aspect, the invention features a method for printing including controlling the printing of print jobs on high-speed production printers through a graphical user interface.
Implementations of the invention may include one or more of the following. The method may include receiving the print jobs at a print server coupled to the graphical user interface and listing the received print jobs in the graphical user interface. Controlling may include selecting a print job from the list of received print jobs, determining if a printer coupled to the print server has a set-up compatible with the selected print job""s set-up, and sending the selected print job from the print server to an output manager connected to the printer. Selecting may include dragging-and-dropping the selected print job from the list of print jobs onto a printer icon, and the method may also include preventing the drag-and-drop of the selected print job if the printer set-up is determined to be incompatible with the selected print job""s set-up.
In general, in another aspect, the invention features a print server for use with different types of source computers and different types of printers, the print server directs print jobs received from the source computers to the printers without the source computers selecting printers for each print job. In general, in another aspect, the invention features a print server for use with an arbitrary number of similar types of source computers and an arbitrary number of similar types of printers, the print server directs print jobs received from the source computers to the printers without the source computers selecting printers for each print job.
Implementations of the invention may include one or more of the following. The print server may include an input receiver, coupled to the source computers, for receiving the print jobs from the source computers, a server spool, coupled to the input receiver, for storing received print jobs, a queue manager, coupled to the server spool and the input receiver, for directing each of the print jobs to a selected one of the printers through an output manager, and a data transformer, coupled to the server spool, for converting data in print jobs into a format compatible with the corresponding selected printers.
In general, in another aspect, the invention features an open systems printing environment including a source computer connected to a first network, a print server connected to the first network and a second network, an output manager connected to the second network, and a printer connected to the output manager, the print server directs print jobs generated by the source computer to the printer.
Implementations of the invention may include one or more of the following. The open systems printing environment may also include a server spool coupled to the printer server and a graphical user interface coupled to the print server.
Advantages of the invention may include one or more of the following. Print streams generated on an arbitrary number of dissimilar/similar types of source computers, including client/server systems, are efficiently routed to an arbitrary number of dissimilar/similar high speed printing hardware. User application programs on source computers need not be modified, and the number of source computers and the number of printers is scalable. New technology (i.e., types of computers and printing hardware) is easily added to the printing system. Local print management provides cost effective operation of a large print center remote from a data center. A graphical user interface (GUI) provides a flexible, easy-to-use operator interface. Printing may continue when source computers are down for maintenance or due to failures.
Print streams generated by source computers may be manipulated in the open print server prior to being routed to available printing hardware. For example, bank statement data from a mainframe may be merged with image data (i.e., pictures of processed checks) from an image server before being routed to available printing hardware. Merging print streams in the open print server prior to printing reduces the handling required to process the merging of two print streams and reduces errors associated with known physical merging techniques.
Other advantages and features will become apparent from the following description, and from the claims.